﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraBars.Helpers;
using DevExpress.XtraSplashScreen;
using System.Threading;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting;
using System.Collections;
using System.Runtime.Remoting.Services;
using Messenger.Lib;
using System.Net;

namespace DA_CLIENT
{
    public partial class FrmIndex : DevExpress.XtraEditors.XtraForm
    {
        private MarshalByRefObject obj;
        public FrmIndex()
        {
            InitializeComponent();
            ShowSplashScreen();
            SkinHelper.InitSkinPopupMenu(barSubItem2);
            SettingNetwork settingNetwork = new SettingNetwork();
            this.obj=settingNetwork.CauHinhMang();
        }

        
        private void ShowSplashScreen()
        {
            // Open a Splash Screen
            SplashScreenManager.ShowForm(this, typeof(SplashScreen1), true, true, false);

            // The splash screen will be opened in a separate thread. To interact with it, use the SendCommand method.
            for (int i = 1; i <= 100; i++)
            {
                //SplashScreenManager.Default.SendCommand(SplashScreen1.SplashScreenCommand.SetProgress, i);
                //To process commands, override the SplashScreen.ProcessCommand method.
                Thread.Sleep(25);
            }

            // Close the Splash Screen.
            SplashScreenManager.CloseForm(false);
        }

        private void btnDangky_Click(object sender, EventArgs e)
        {
            FrmDangKy frmDangKy = new FrmDangKy();
            frmDangKy.ShowDialog();
        }

        private void btnDangnhap_Click(object sender, EventArgs e)
        {
            if (txtUsername.Text != "" && txtPassword.Text != "")
            {
                try
                {
                    if (Global.server.SignIn(txtUsername.Text, txtPassword.Text, !checkVisible.Checked))
                    {
                        //Ghi địa chỉ IP của Username đăng nhập
                        IPHostEntry temp = Dns.GetHostByName(Dns.GetHostName().ToString());
                        string IP = temp.AddressList[0].ToString();
                        this.Hide();
                        Global.username = txtUsername.Text;
                        //RemotingServices.Disconnect(obj);
                        
                        FrmMain frmMain = new FrmMain(obj);
                        frmMain.Show();
                    }
                    else
                    {
                        MessageBox.Show("Tên người dùng hoặc mật khẩu không đúng, Vui lòng kiểm tra lại.", "Lỗi đăng nhập...");
                        this.DialogResult = DialogResult.None;
                    }
                }
                catch
                {
                    MessageBox.Show("Lỗi kết nối tới Server.Vui lòng kiểm tra lại", "Lỗi kết nối...");
                    this.DialogResult = DialogResult.None;
                }
            }
            else {
                MessageBox.Show("Lỗi! Vui lòng nhập tên tài khoản và mật khẩu", "Lỗi đăng nhập...");
                this.DialogResult = DialogResult.None;
            }
        }

        private void FrmIndex_Load(object sender, EventArgs e)
        {

        }
    }
    
}